home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / Fresco / build / Unix / config / cf / Amoeba.cf next >
Text File  |  1995-07-12  |  12KB  |  403 lines

  1. XCOMM platform:  $XConsortium: Amoeba.cf,v 1.7 95/01/05 19:38:42 kaleb Exp $
  2.  
  3. /*  The presence of this configuration file in the X distribution
  4.  *  does not imply full support for the system it describes.
  5.  *  Additional patches from The XFree86 Project, Inc. will be required to 
  6.  *  compile the X distribution on Amoeba.  According to them, these patches
  7.  *  will also be made available at the regular Amoeba ftp site
  8.  *  ftp.am.cs.vu.nl.
  9.  */
  10.  
  11. /*
  12.  * Configuration file for Amoeba 5.2
  13.  */
  14.  
  15. #define OSName                  Amoeba 5.2
  16. XCOMM operating system:  OSName
  17. #define OSMajorVersion          5
  18. #define OSMinorVersion          2
  19. #define OSTeenyVersion          0
  20. #define OSVendor                Vrije Universiteit
  21.  
  22. #define AmoebaArchitecture    YES
  23.  
  24. /* Configuration defaults */
  25. #ifndef AmoebaTop
  26. #define AmoebaTop        __AM_TOP__
  27. #endif
  28. #ifndef AmoebaBin
  29. #define AmoebaBin        $(ATOP)/bin.sun4
  30. #endif
  31. #ifndef AmoebaConf
  32. #define AmoebaConf        __AM_CONF__
  33. #endif
  34.  
  35. #define HasNdbm            YES
  36. #define NeedSdbm        YES
  37. #define HasShm            NO
  38. #define HasSecureRPC        NO
  39. #define SetTtyGroup        NO
  40. #define HasPutenv        YES
  41. #define HasSockets              NO
  42. #define HasStreams              NO
  43.  
  44. #if defined(Sun3Architecture) || defined(SparcArchitecture)
  45. #define XsunAmoebaServer    YES
  46. #define XsunAmoebaMonoServer    YES
  47. #endif
  48.  
  49. #define BuildFonts              NO
  50. #define BuildFontServer         NO
  51. #define BuildPex                NO
  52. #define BuildPexExt        NO
  53. #define BuildXIE        NO
  54.  
  55. #define YaccCmd                 byacc
  56. #define TermcapLibrary          /* in libajax */
  57. #define LexLib            /* not needed */
  58.  
  59. #define PexCCOptions        DefaultCCOptions
  60. #define ServerOSDefines        XFree86ServerOSDefines
  61.  
  62. #define UsrLibDir               $(DESTDIR)/profile/module/x11/lib
  63. #define LibDir                  $(DESTDIR)/profile/module/x11/lib
  64. #define ManDirectoryRoot        $(DESTDIR)/profile/module/x11/man
  65. #define BinDir                  $(DESTDIR)/profile/module/x11/bin
  66. #define IncRoot                 $(DESTDIR)/profile/module/x11/include
  67. #define FontDir                 $(DESTDIR)/profile/module/x11/fonts/$(ARCH)
  68. #define DefaultRGBDatabase      $(DESTDIR)/profile/module/x11/lib/rgb/$(ARCH)/rgb
  69.  
  70. #define ManSuffix               1
  71. #define ManPath                 ManDirectoryRoot
  72. #define XmanLocalSearchPath     ManDirectoryRoot
  73.  
  74. #define DefaultUserPath         :/bin:$(BINDIR)
  75. #define DefaultSystemPath       /bin:$(BINDIR):
  76.  
  77. #define StandardIncludes        -I$(ATOP)/src/h \
  78.                 -I$(ATOP)/src/h/posix \
  79.                 -I$(ATOP)/src/h/posix/machdep/$(ARCH) \
  80.                 -I$(ATOP)/src/h/machdep/arch/$(ARCH) \
  81.                 -I$(ATOP)/src/h/toolset/$(TOOLSET)
  82.  
  83. #define Malloc0ReturnsNull      YES
  84. #define ServerInstallFlags      -s 32
  85. #define FontDefines             -DFONT_SNF
  86. #define ConnectionFlags         -DAMTCPCONN -DAMRPCCONN
  87. #define ServerXdmcpDefines    /* no -DXDMCP */
  88. #define UseRgbTxt        YES
  89. #define NdbmDefines        -DSDBM -DNDBM -I$(INCLUDESRC)
  90. #define DBMLibrary        /* $(LIBSRC)/sdbm/libsdbm.a */
  91.  
  92. #if defined(i386Architecture)
  93. #ifndef AckToolset
  94. #define AckToolset              YES
  95. #define ExtraFPLoadFlags    -fp
  96. #endif
  97. #define XF86MonoServer        YES
  98. #endif
  99.  
  100. #if defined(Sun3Architecture)
  101. #ifndef AckToolset
  102. #define AckToolset              YES
  103. #endif
  104. #endif
  105.  
  106. #if AckToolset
  107. #define CcCmd                   ack
  108. #define ServerCcCmd             ack
  109. #define LdCmd                   ack
  110. #define AckArchOption        -mam_$(ARCH)
  111. #define DefaultCCOptions        AckArchOption
  112. #define LibraryCCOptions        AckArchOption
  113. #define LdCombineFlags          -Rled-r -c.out
  114. #define ArCmd             aal clrv
  115. #define RanlibCmd        /bin/true
  116. #define AsCmd            AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_as AckArchOption
  117. #define AsIncl            -I$(ATOP)/src/h/machdep/arch/$(ARCH)
  118. #define AsmDefines        -DACK_ASSEMBLER
  119. #define LdPreLib        /**/
  120. #define LdPostLib        /**/
  121. #endif
  122.  
  123. #if defined(SparcArchitecture)
  124. #define AllocateLocalDefines    -DINCLUDE_ALLOCA_H
  125.  
  126. #define CcCmd                   cc
  127. #define ServerCcCmd             cc
  128. #define LdCmd                   AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_gld
  129. #define DefaultCCOptions        -sun4
  130. #define LibraryCCOptions        -sun4
  131. #define AmoebaCompilerDefs    -Usun
  132. #define ServerExtraDefines    AllocateLocalDefines
  133. #define LdPostLib        /**/
  134. #endif
  135.  
  136. #ifndef AmoebaCompilerDefs
  137. #define AmoebaCompilerDefs    /**/
  138. #endif
  139.  
  140. #define CommonAmoebaDefines     -DAMOEBA -D$(ARCH) AmoebaCompilerDefs
  141. #define StandardDefines         CommonAmoebaDefines
  142. #define StandardCppDefines      StandardDefines
  143.  
  144. #ifndef ExtraFPLoadFlags
  145. #define ExtraFPLoadFlags
  146. #endif
  147. #define MathLibrary        $(ALIB)/math/libmath.a
  148. #define OSLibraries             $(ALIB)/ajax/libajax.a \
  149.                 $(ALIB)/amoeba/libamoeba.a \
  150.                 MathLibrary \
  151.                 ExtraFPLoadFlags
  152. #define ServerExtraSysLibs    $(CBRT) OSLibraries
  153. #define ExtraLoadFlags        OSLibraries
  154.  
  155. ATOP            = AmoebaTop
  156. ALIB            = AmoebaConf/$(ARCH).$(TOOLSET)/lib
  157. #if AckToolset 
  158. /* The ACK toolset already links in the appropriate head.o by default */
  159. HEAD            =
  160. #else
  161. HEAD            = $(ALIB)/head/head.o
  162. #endif
  163.  
  164. ABIN            = AmoebaBin
  165. AINSTALL        = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
  166. AINSTALLFLAGS   =
  167. TOB             = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
  168. MKXDIRHIER      = /bin/sh $(CONFIGSRC)/util/ammkdirhier.sh $(ABIN)
  169.  
  170. /* Make wizardy: */
  171. COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
  172. LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
  173.  
  174. #if defined(i386Architecture)
  175. ARCH            = i80386
  176. TOOLSET         = ack
  177. ALDFLAGS        = /* -mam_i80386 now in CCopts */ -.c -Rcv-s32
  178.  
  179. #include <xfree86.cf>
  180. #endif
  181.  
  182. #if defined(Sun3Architecture)
  183. ARCH            = mc68000
  184. TOOLSET         = ack
  185. ALDFLAGS        =  -.c -Rcv-s32
  186. #endif
  187.  
  188. #if defined(SparcArchitecture)
  189. ARCH            = sparc
  190. TOOLSET         = sun
  191. SPARCLIBDIR     = AmoebaBin/gnu/sparc
  192. ALDFLAGS        = -mam_sparc -n -Ttext 40000 -Bstatic -e start -L$(SPARCLIBDIR)
  193. #endif
  194.  
  195. #define BootstrapCFlags        -DAMOEBA -DCROSS_$(ARCH) -DCROSS_COMPILE
  196.  
  197. /*
  198.  * The rest of this files consists of rules to allow cross-compilation
  199.  * and installation of binaries and data files from the Unix host to
  200.  * the Amoeba file system.
  201.  */
  202.  
  203. /* #ifdef CROSS_COMPILING */
  204. #define CrossCompiling          YES
  205.  
  206. #define HostLinkRule(target, flags, src, libs)  cc -o target src
  207.  
  208. #define LinkRule(program,options,objects,libraries) \
  209. $(LD) $(ALDFLAGS) $(HEAD) -o program options objects libraries $(EXTRA_LOAD_FLAGS)
  210.  
  211. /* ComplexHostProgramTarget - Compile a program such that we can run
  212.  * it on this host, i.e., don't use the default cross compiler.
  213.  */
  214. #ifndef ComplexHostProgramTarget
  215. #define    ComplexHostProgramTarget(program)                @@\
  216.               CC=cc                            @@\
  217.     STD_INCLUDES=                            @@\
  218.           CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)        @@\
  219. EXTRA_LOAD_FLAGS=                            @@\
  220.         PROGRAM = program                        @@\
  221.                                     @@\
  222. AllTarget(program)                            @@\
  223.                                     @@\
  224. program: $(OBJS) $(DEPLIBS)                        @@\
  225.     RemoveTargetProgram($@)                        @@\
  226.     HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
  227.                                     @@\
  228. DependTarget()                                @@\
  229.                                     @@\
  230. LintTarget()                                @@\
  231.                                     @@\
  232. clean::                                    @@\
  233.     RemoveFile(ProgramTargetName(program))
  234. #endif /* ComplexHostProgramTarget */
  235.  
  236. #ifndef SimpleHostProgramTarget
  237. #define SimpleHostProgramTarget(program)                @@\
  238.            OBJS = program.o                        @@\
  239.            SRCS = program.c                        @@\
  240.                                     @@\
  241. ComplexHostProgramTarget(program)
  242. #endif /* SimpleHostProgramTarget */
  243.  
  244.  
  245. #ifndef Concat
  246. #if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)
  247. #define Concat(a,b)a##b
  248. #else
  249. #define Concat(a,b)a/**/b
  250. #endif
  251. #endif
  252.  
  253. /*
  254.  * LintLibReferences - variables for lint libraries
  255.  */
  256. #ifndef LintLibReferences
  257. #define LintLibReferences(varname,libname,libsource)            @@\
  258. Concat(LINT,varname) = Concat(libsource/llib-,libname.ln)
  259. #endif
  260.  
  261. /*
  262.  * UnsharedLibReferences - variables for unshared libraries
  263.  */
  264. #ifndef UnsharedLibReferences
  265. #define UnsharedLibReferences(varname,libname,libsource)        @@\
  266. Concat3(DEP,varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a)        @@\
  267.      Concat(varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a)        @@\
  268. LintLibReferences(varname,libname,libsource)
  269. #endif
  270.  
  271. #ifndef InstallLibrary
  272. #define    InstallLibrary(libname,dest)                    @@\
  273. install:: Concat(lib,libname.a)                        @@\
  274.     @echo '** TODO: Install Library ' Concat(lib,libname.a)
  275. #endif /* InstallLibrary */
  276.  
  277. #ifndef MergeIntoInstalledLibrary
  278. #define MergeIntoInstalledLibrary(tolib,fromlib)            @@\
  279. install::  fromlib                            @@\
  280.     @echo '** TODO: merge ' fromlib into tolib
  281. #endif /* MergeIntoInstalledLibrary */
  282.  
  283. #ifndef InstallLibraryAlias
  284. #define    InstallLibraryAlias(libname,alias,dest)                @@\
  285. install::                                @@\
  286.     @echo '** TODO: Install lib alias ' libname alias dest
  287. #endif /* InstallLibraryAlias */
  288.  
  289. #ifndef InstallLintLibrary
  290. #define    InstallLintLibrary(libname,dest)                @@\
  291. install.ln:: Concat(llib-l,libname.ln)                    @@\
  292.     @echo '** TODO: Install lintlib ' Concat(llib-l,libname.ln)
  293. #endif /* InstallLintLibrary */
  294.  
  295. #ifndef InstallManPageLong
  296. #define    InstallManPageLong(file,destdir,dest)                @@\
  297. install.man:: file.man                            @@\
  298.     @echo '** TODO: Install man page ' file.man
  299. #endif /* InstallManPageLong */
  300.  
  301. #ifndef InstallManPageAliases
  302. #define    InstallManPageAliases(file,destdir,aliases)            @@\
  303. install.man::                                @@\
  304.     @(TMP=/tmp/tmp.$$$$; \                        @@\
  305.     $(RM) $${TMP}; \                        @@\
  306.     echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \    @@\
  307.     for i in aliases; do (set -x; \                    @@\
  308.     $(TOB) $${TMP} $(DESTDIR)destdir/$$i.$(MANSUFFIX)); \         @@\
  309.     done; \                                @@\
  310.     $(RM) $${TMP})
  311. #endif /* InstallManPageAliases */
  312.  
  313. #ifndef InstallNamedNonExec
  314. #define    InstallNamedNonExec(srcname,dstname,dest)            @@\
  315. install:: srcname                            @@\
  316.     $(MKXDIRHIER) $(DESTDIR)dest                    @@\
  317.     $(TOB) srcname $(DESTDIR)dest/dstname
  318. #endif /* InstallNamedNonExec */
  319.  
  320. #ifndef InstallNonExecFile
  321. #define    InstallNonExecFile(file,dest)                    @@\
  322. install:: file                                @@\
  323.     $(MKXDIRHIER) dest                        @@\
  324.     $(TOB) file dest/file
  325. #endif /* InstallNonExecFile */
  326.  
  327. #ifndef InstallNonExec
  328. #define    InstallNonExec(file,dest)                    @@\
  329. install:: file                                @@\
  330.     $(TOB) file dest/file
  331. #endif /* InstallNonExec */
  332.  
  333. #ifndef InstallProgramWithFlags
  334. #define InstallProgramWithFlags(program,dest,flags)            @@\
  335. install:: program                            @@\
  336.     $(MKXDIRHIER) dest/program                    @@\
  337.     $(AINSTALL) $(AINSTALLFLAGS) program dest/program/pd.$(ARCH)
  338. #endif /* InstallProgramWithFlags */
  339.  
  340. #ifndef InstallScript
  341. #define    InstallScript(program,dest)                    @@\
  342. install:: program.script                        @@\
  343.     $(TOB) program.script dest/program
  344. #endif /* InstallScript */
  345.  
  346. #ifndef InstallNamedScript
  347. #define    InstallNamedScript(srcname,dstname,dest)            @@\
  348. install:: srcname                            @@\
  349.     $(TOB) srcname dest/dstname
  350. #endif /* InstallNamedScript */
  351.  
  352. #ifndef InstallNamedProg
  353. #define    InstallNamedProg(srcname,dstname,dest)                @@\
  354. install:: srcname                            @@\
  355.     $(MKXDIRHIER) $(DESTDIR)dest/dstname                @@\
  356.     $(AINSTALL) $(AINSTALLFLAGS) srcname $(DESTDIR)dest/dstname/pd.$(ARCH)
  357. #endif /* InstallNamedProg */
  358.  
  359. #ifndef InstallMultipleDestFlags
  360. #define InstallMultipleDestFlags(step,list,dest,flags)            @@\
  361. step:: list                                @@\
  362.     $(MKXDIRHIER) $(DESTDIR)dest                    @@\
  363.     @case '${MFLAGS}' in *[i]*) set +e;; esac; \            @@\
  364.     for i in list; do \                        @@\
  365.         (set -x; $(TOB) $$i dest/$$i); \            @@\
  366.     done
  367. #endif /* InstallMultipleDestFlags */
  368.  
  369. #ifndef InstallMultipleProg
  370. #define InstallMultipleProg(list,dest)                    @@\
  371. install:: list                                @@\
  372.     @case '${MFLAGS}' in *[i]*) set +e;; esac; \            @@\
  373.     for i in list; do \                        @@\
  374.         (set -x; \                             @@\
  375.           $(MKXDIRHIER) $(DESTDIR)dest/$$i; \            @@\
  376.         $(AINSTALL) $(AINSTALLFLAGS) $$i dest/$$i/pd.$(ARCH));\    @@\
  377.     done
  378. #endif /* InstallMultipleProg */
  379.  
  380. #ifndef InstallAppDefaults
  381. #if InstallAppDefFiles
  382. #define    InstallAppDefaults(class)                    @@\
  383. install:: class.ad                            @@\
  384.     $(MKXDIRHIER) $(XAPPLOADDIR)                    @@\
  385.     $(TOB) class.ad $(DESTDIR)$(XAPPLOADDIR)/class
  386. #else
  387. #define    InstallAppDefaults(class)
  388. #endif /* InstallAppDefFiles */
  389. #endif /* InstallAppDefaults */
  390.  
  391. #ifndef InstallAppDefaultsLong
  392. #if InstallAppDefFiles
  393. #define    InstallAppDefaultsLong(file,class)                @@\
  394. install:: file.ad                            @@\
  395.     $(MKXDIRHIER) $(DESTDIR)$(XAPPLOADDIR)                @@\
  396.     $(TOB) file.ad $(DESTDIR)$(XAPPLOADDIR)/class
  397. #else
  398. #define    InstallAppDefaultsLong(file,class)
  399. #endif /* InstallAppDefFiles */
  400. #endif /* InstallAppDefaultsLong */
  401.  
  402. /* #endif CROSS_COMPILE */
  403.